/**    
 * 文件名：ResultJson.java    
 *    
 * 版本信息：    
 * 日期：2014年12月16日    
 * Copyright Corporation 2014     
 * 版权所有    
 *    
 */
package com.starbaba.common;

import com.alibaba.fastjson.JSON;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

/**<pre>
 * 服务端返回 头信息结构体
 * 
 * </pre>
 * @author     :royoan
 * @since      :2014年12月16日 下午11:01:00
 * @version    :0.0.1
 */
public class ResultJson {
    /**
     * status=1:处理成功；
        status=-0:参数校验错误；
        status=-1:服务器处理出错；
        status=-2:业务处理异常；
                            仅当status=1时客户端才解析数据。
     */
    public int status;
    public int errorcode;
    public String msg;
    private long cost; 
    
    public ResultJson(){
        this.status = 1;
        this.msg = "success";
    }
    public ResultJson(int status, int errorcode, String msg) {
        this.status = status;
        this.errorcode = errorcode;
        this.msg = msg;
    }
    
    public JsonElement toJSON() {
    	JsonObject object = new JsonObject();
    	object.addProperty("status", status);
    	object.addProperty("msg", msg);
    	object.addProperty("errorcode", errorcode);
    	object.addProperty("cost", cost);
        return object;
    }
    
    public String toJSONString() {
        return JSON.toJSONString(this);
    }
    
    @Override
	public String toString() {
		return "ResultJson [status=" + status + ", errorcode=" + errorcode + ", msg=" + msg+ ", cost=" + cost + "]";
	}
	public static void main(String[] args) {
    	ResultJson rj = new ResultJson(1,-1, "erorr");
    	
    	System.out.println(rj);
    	System.out.println(JSON.toJSONString(rj));
    	
    	System.out.println(new ResultJson().toJSONString());
	}
}
